package cn.siat.file.domain;

import cn.siat.file.model.MinioChunk;
import cn.siat.file.model.MinioChunkTypeHandle;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "minio_file",autoResultMap = true)
public class MinioFile {
    /** 主键 */
    private Long id;

    /** 上传分片的链接 */
    @TableField(typeHandler = MinioChunkTypeHandle.class)
    private List<MinioChunk> chunks;

    /** 文件名 */
    private String fileName;

    /** MD5 */
    private String md5;

    /** 上传id */
    private String uploadId;

    /** 是否已上传 */
    private Integer isUploaded;

    /** 分片总块数 */
    private Long totalChunks;

    /** 文件大小（B） */
    private Long size;

    /** 已完成片数 */
    private Integer completedParts;

    /** 文件地址 */
    private String fileUrl;

    /**耗时单位:s*/
    private Integer operateTime;
    /** minio桶名称 */
    private String bucket;
    private Date createTime;
    private Date updateTime;
}
